home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / COMPILER / SATHER / !Sather / Library / Base / test / sa / bool < prev    next >
Text File  |  1996-04-09  |  5KB  |  95 lines

  1. ---------------------------> Sather 1.1 source file <--------------------------
  2. -- test_bool.sa: 
  3. -- Author: Benedict A. Gomes <gomes@samosa.ICSI.Berkeley.EDU>
  4. -- Copyright (C) 1995, International Computer Science Institute
  5. -- $Id: bool_test.sa,v 1.2 1996/04/09 10:04:13 borisv Exp $
  6. --
  7. -- COPYRIGHT NOTICE: This code is provided WITHOUT ANY WARRANTY
  8. -- and is subject to the terms of the SATHER LIBRARY GENERAL PUBLIC
  9. -- LICENSE contained in the file: Sather/Doc/License of the
  10. -- Sather distribution. The license is also available from ICSI,
  11. -- 1947 Center St., Suite 600, Berkeley CA 94704, USA.
  12. -------------------------------------------------------------------
  13. class TEST_BOOL is
  14.    -- Test of BOOL.
  15.    include TEST;
  16.    
  17.    main is
  18.       -- Test of BOOL.
  19.       class_name("BOOL");
  20.       
  21.       test("false.not", false.not.str, "true");
  22.       test("true.not", true.not.str, "false");
  23.       
  24.       test("false and false", (false and false).str, "false");
  25.       test("false and true", (false and true).str, "false");
  26.       test("true and false", (true and false).str, "false");
  27.       test("true and true", (true and true).str, "true");
  28.       
  29.       test("false or false", (false or false).str, "false");
  30.       test("false or true", (false or true).str, "true");
  31.       test("true or false", (true or false).str, "true");
  32.       test("true or true", (true or true).str, "true");
  33.       
  34.       test("false.xor(false)", (false.xor(false)).str, "false");
  35.       test("false.xor(true)", (false.xor(true)).str, "true");
  36.       test("true.xor(false)", (true.xor(false)).str, "true");
  37.       test("true.xor(true)", (true.xor(true)).str, "false");
  38.       
  39.       test("false.xnor(false)", (false.xnor(false)).str, "true");
  40.       test("false.xnor(true)", (false.xnor(true)).str, "false");
  41.       test("true.xnor(false)", (true.xnor(false)).str, "false");
  42.       test("true.xnor(true)", (true.xnor(true)).str, "true");
  43.  
  44.       test("false.nand(false)", (false.nand(false)).str, "true");
  45.       test("false.nand(true)", (false.nand(true)).str, "true");
  46.       test("true.nand(false)", (true.nand(false)).str, "true");
  47.       test("true.nand(true)", (true.nand(true)).str, "false");
  48.  
  49.       test("false.nor(false)", (false.nor(false)).str, "true");
  50.       test("false.nor(true)", (false.nor(true)).str, "false");
  51.       test("true.nor(false)", (true.nor(false)).str, "false");
  52.       test("true.nor(true)", (true.nor(true)).str, "false");
  53.  
  54.       test("false.implies(false)", (false.implies(false)).str, "true");
  55.       test("false.implies(true)", (false.implies(true)).str, "true");
  56.       test("true.implies(false)", (true.implies(false)).str, "false");
  57.       test("true.implies(true)", (true.implies(true)).str, "true");
  58.       
  59.       test("false.and_rout(false)", false.and_rout(false).str, "false");
  60.       test("false.and_rout(true)", false.and_rout(true).str, "false");
  61.       test("true.and_rout(false)", true.and_rout(false).str, "false");
  62.       test("true.and_rout(true)", true.and_rout(true).str, "true");
  63.       
  64.       test("false.or_rout(false)", false.or_rout(false).str, "false");
  65.       test("false.or_rout(true)", false.or_rout(true).str, "true");
  66.       test("true.or_rout(false)", true.or_rout(false).str, "true");
  67.       test("true.or_rout(true)", true.or_rout(true).str, "true");
  68.       
  69.       test("false.nor_not(false)", false.nor_not(false).str, "false");
  70.       test("false.nor_not(true)", false.nor_not(true).str, "true");
  71.       test("true.nor_not(false)", true.nor_not(false).str, "false");
  72.       test("true.nor_not(true)", true.nor_not(true).str, "false");
  73.       
  74.       test("false.and_not(false)", false.and_not(false).str, "false");
  75.       test("false.and_not(true)", false.and_not(true).str, "false");
  76.       test("true.and_not(false)", true.and_not(false).str, "true");
  77.       test("true.and_not(true)", true.and_not(true).str, "false");
  78.  
  79.       test("false.nand_not(false)", false.nand_not(false).str, "true");
  80.       test("false.nand_not(true)", false.nand_not(true).str, "true");
  81.       test("true.nand_not(false)", true.nand_not(false).str, "false");
  82.       test("true.nand_not(true)", true.nand_not(true).str, "true");
  83.       
  84.       test("false.or_not(false)", false.or_not(false).str, "true");
  85.       test("false.or_not(true)", false.or_not(true).str, "false");
  86.       test("true.or_not(false)", true.or_not(false).str, "true");
  87.       test("true.or_not(true)", true.or_not(true).str, "true");
  88.       
  89.       test("true.str", true.str, "true");
  90.       test("false.str", false.str, "false");
  91.       
  92.       finish end;
  93.  
  94. end; 
  95.